Apparatus is known which tracks the eye movement of a user of a GUI to determine what position within the interface is being viewed, using reflections of signals from the user's retina. When the user's eye focuses on a single position corresponding to a selectable element of the interface for a predefined period of time (for example 0.3 seconds), this is interpreted as selection of the element. Example selectable GUI elements are icons such as buttons, and items in a context menu or scrollable list.
There is a problem with the known eyeball tracking mechanisms, which is that they are not very accurate. The accuracy can be adequate for very simple interfaces in which the GUI elements are each very large, but a requirement for very large GUI elements is often unacceptable for real applications where there is limited display space available for each element and it is likely to result in an unattractive and simplistic GUI. Furthermore, eye tracking selection mechanisms may not perform well even for large GUI elements if the user focuses near an edge of the GUI element. A mechanism is needed for dealing with the inaccuracy of the eye tracking mechanisms to allow eye tracking to be used with any desired interface design.
There are other types of apparatus for which fast and accurate selection of a GUI element is difficult to achieve. For example, touch-response screens and any apparatus which has a small display screen and relies on user-controlled positioning of a pointer for selection of GUI elements has the problem of positioning the pointer within the small screen area of the desired GUI element. Examples of such apparatus are laptop computers and some personal digital assistants (PDAs).
The positioning problem is a particular concern for users of GUI selector mechanisms who have physical limitations affecting their ease of use, but ease of use is of major importance for all users.
Warping of an input device pointer to a newly created window is used, for example, by the Motif(TM) Window Manager (which is the default window manager of The Open Group's Motif user interface standard). However, this is an inflexible action which is only taken when the window is created.
U.S. Pat. No. 5,745,100 discloses an input device pointer remapping facility which causes an input device pointer, when entering a region on a computer display, to jump to a specific point within the region such as the centre of the region. Further movements of the pointer through the region are then adjusted to increase the likelihood that the pointer will remain in the region. There is at most only one predefined fixed point which is an active jump point for any position of the pointer within the display screen.
U.S. Pat. No. 5,737,555 discloses rapid repositioning of a display pointer to a predefined location on a display screen in response to an input stimulus. This saves the user from physically moving the pointer but relies on a predefined order of display pointer movement between elements of a GUI (i.e. a predefined action sequence) to identify the next predefined pointer location.
IBM Technical Disclosure Bulletin article "Method for simplifying the accurate positioning of a mouse pointer", P. Hanna, vol.36, No.4, April 1993, pages 339-342, discloses using an heuristic to predict the intended destination of a user-controlled mouse pointer movement and then automatically moving the pointer to that destination. The mouse pointer's initial position and directed acceleration are used to calculate a force vector which is then matched to actual positions of mouse-selectable areas. The acceleration must exceed a predefined threshold for the automated movement to be initiated. However, the initial user-controlled acceleration of an input device pointer may not be proportional to the distance that the user intends to move the pointer, and so the reliance on measured acceleration will tend to produce erroneous predictions. Secondly, no account is taken of the current application program state and so the pointer may be moved to mouse-selectable areas which are not currently valid selections.